package com.tools.demo02;

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        System.out.println("Random 随机数");

        /**
         * Math.random() 实际上也是调用了Random类的方法
         * Random 方法有如下：
         * nextInt()    返回随机整数
         * nextLong()   返回随机long类型整数
         * nextFloat()  返回随机浮点数
         * nextDouble() 返回随机浮点数
         */
        Random r = new Random();
        System.out.println(Math.abs(r.nextInt()));
        System.out.println(r.nextInt(5)); // 生成一个 [0,10) 之间int
        System.out.println(r.nextLong());
        System.out.println(r.nextFloat());  // 生成[0,1) 之间的随机数
        System.out.println(r.nextDouble()); // 生成[0,1) 之间的随机数

        /**
         * Random(种子数)
         * 创建Random实例时指定一个种子，当种子数相同时，就会得到完全确定的随机数序列
         */
        System.out.println("=======");
        Random random = new Random(10);
        for (int i = 0; i < 5; i++) {
            System.out.println(random.nextInt(100));
        }
        // 13 80 93 90 46
        System.out.println("=======");
        Random rand = new Random(10);
        for (int i = 0; i < 5; i++) {
            System.out.println(rand.nextInt(100));
        }
        // 13 80 93 90 46
    }
}
